package com.handyshop.mall.dubbo.user.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.handyshop.mall.dubbo.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

@ApiModel(value = "菜单表")
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "sys_menu")
public class SysMenu extends BaseEntity {
    /**
     * 菜单名称
     */
    @TableField(value = "`name`")
    @ApiModelProperty(value = "菜单名称")
    private String name;

    /**
     * 菜单权限标识
     */
    @TableField(value = "permission")
    @ApiModelProperty(value = "菜单权限标识")
    private String permission;

    /**
     * 前端URL
     */
    @TableField(value = "`path`")
    @ApiModelProperty(value = "前端URL")
    private String path;

    /**
     * 父菜单ID
     */
    @TableField(value = "parent_id")
    @ApiModelProperty(value = "父菜单ID")
    private Long parentId;

    /**
     * 图标
     */
    @TableField(value = "icon")
    @ApiModelProperty(value = "图标")
    private String icon;

    /**
     * VUE页面
     */
    @TableField(value = "component")
    @ApiModelProperty(value = "VUE页面")
    private String component;

    /**
     * 排序值
     */
    @TableField(value = "sort")
    @ApiModelProperty(value = "排序值")
    private Integer sort;

    /**
     * 状态(0:开启;1关闭)
     */
    @TableField(value = "`status`")
    @ApiModelProperty(value = "状态(0:开启;1关闭)")
    private Byte status;

    /**
     * 菜单类型 （0菜单 1按钮）
     */
    @TableField(value = "`type`")
    @ApiModelProperty(value = "菜单类型 （0菜单 1按钮）")
    private Byte type;

    public static final String COL_ID = "id";

    public static final String COL_NAME = "name";

    public static final String COL_PERMISSION = "permission";

    public static final String COL_PATH = "path";

    public static final String COL_PARENT_ID = "parent_id";

    public static final String COL_ICON = "icon";

    public static final String COL_COMPONENT = "component";

    public static final String COL_SORT = "sort";

    public static final String COL_STATUS = "status";

    public static final String COL_TYPE = "type";

    public static final String COL_DELETE_FLAG = "delete_flag";

    public static final String COL_CREATOR_ID = "creator_id";

    public static final String COL_CREATOR = "creator";

    public static final String COL_CREATE_TIME = "create_time";

    public static final String COL_MODIFY_TIME = "modify_time";
}